草庐IT

C++ 模块 TS 和 CMake

全部标签

windows - CMake 找不到自定义命令 "ls"

我尝试为我的CLion项目运行一些基本命令,但它就是行不通。这是我的CMake设置。cmake_minimum_required(VERSION3.6)project(hello)set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-std=c++11")set(SOURCE_FILESmain.cpp)add_executable(hello${SOURCE_FILES})add_custom_command(OUTPUThello.outCOMMANDls-lhelloDEPENDShello)add_custom_target(run_hello_outD

javascript - 避免为所有项目一遍又一遍地下载 Node JS 模块

我正在学习NodeJS和Electron应用程序开发,目前我使用的每个示例应用程序都让我运行命令npminstall,这导致node_modules下载到项目文件夹。这会导致大量磁盘使用,因为许多应用一遍又一遍地使用相同的Node模块。有没有办法将所有项目所需的所有Node模块安装到一个中央位置,并使它们都使用这1个模块源?更新我的另一个问题。如果我正在构建的Electron应用程序被打包为可安装的.exe文件。当应用程序在其他用户PC上运行时,他们是否能够打包这些全局Node包所需的功能? 最佳答案 有两种安装npm包的方法:本地

windows - 通过 puppet 模块导入注册表文件的静默方式

我有一组.reg文件需要通过puppet导入。我看到了puppetlabs注册表模块,但无法导入.reg文件。有没有办法通过puppet静默导入.reg文件? 最佳答案 regedit.exe有一个switch/s用于静默导入注册表文件。通过execresource导入文件.$file='C:\path\to\your.reg'exec{"import$file":command=>"regedit.exe/s$file",require=>File[$file],}或者您可以使用reg.exe命令行实用程序,正如@AlexK在评论

c++ - 如何最好地告诉 CMake 在哪里可以找到 dll

我有一个简单的项目结构,源自令人惊叹的教程https://rix0r.nl/blog/2015/08/13/cmake-guide/看起来如下:-src-CMakeLists.txt-mylib-include/mylib/mylibclass.h-src/mylibclass.cpp-CMakeLists.txt-myapp-src/myapp.cpp-CMakeLists.txt顶级CMakeLists.txt包含:cmake_minimum_required(VERSION3.6)project(sample_projectVERSION0.1LANGUAGESCXX)set(B

windows - 为什么在 Windows 上的 CMake 中构建时会出现重复的符号链接(symbolic link)器错误?

我有一个CMake设置,可以将4个静态库和1个共享库链接到一个顶级共享库(我们称之为Top.dll)。除了一件事,这将工作正常。我有一个模块定义文件,表示哪些符号应该公开。Top.dll构建,到目前为止一切顺利。现在,当我尝试通过CMake将可执行文件与Top.dll链接时,我得到每个公共(public)符号的链接器错误,声称它在两个地方定义(Top.dll和实际定义它的静态库),即使Top.dll不包含自己的原始定义。如果我删除静态库,那么我会按预期得到未解析的符号错误。如果我删除模块定义文件,我会得到相同的结果。似乎它是零次或两次。我在这里缺少一些设置吗?我不认为我以非基本方式使用

windows - 在模块 'Save-Module' 中找到 'PowerShellGet' 命令,但无法加载该模块

当我在powershell中执行命令时Save-Module-NameACMESharp-Path提示错误如下:在模块“PowerShellGet”中找到“Save-Module”命令,但无法加载该模块。然后我尝试执行Import-ModulePowerShellGet原来是执行策略的问题导致状态为“受限”的脚本。 最佳答案 要检查是否与执行策略有关,您可以尝试执行ps命令Get-ExecutionPolicy如果返回结果显示受到限制,则必须将执行策略更改为RemoteSigned。PS:希望它不会引起任何安全问题。以防万一,完成后

windows - 动态加载 Windows dll 时,如何知道缺少的相关模块的名称

我有时会遇到无法在客户站点加载动态库的问题。这通常是因为他们的系统配置错误。我需要能够获取丢失的依赖模块的名称,以便我可以记录它,并使修复他们的系统变得更加容易。我怎样才能做到这一点?请注意,我需要一个可以放入我的代码中的答案,这意味着我不能使用依赖性检查器、进程监视器或任何其他工具来解决问题。我确实需要一种以编程方式进行的方法。DependencyChecker可以做到这一点意味着有办法。 最佳答案 从win7开始ntdll.dll导出下一个api:structFAILUREDATA{NTSTATUSstatus;WCHARDll

windows - Ansible win_unzip 模块需要很长时间

在我们的客户处,Ansible模块win_unzip执行时需要很长时间。我们的代码是:-name:unzipzippackageintoC:\server\dllswin_unzip:src:"{{app_path}}\\app_dll.zip"dest:"{{app_path}}\\dlls"rm:true此步骤需要10多分钟。使用win_copy复制zip文件在之前的直接步骤中,代码在这里:-name:copyzippackagetoC:\serverwin_copy:src:"path2zip.zip"dest:"{{app_path}}\\app_dll.zip"提取成功完成,

windows - Windows 的 CMake 安装目标 bin 等效项

在Linux上,我将CMake配置为在bin文件夹中安装输出。然后无论当前目录是什么,我都可以在终端中调用可执行文件。我做到了:Install(TARGETS...DESTINATIONbin)在Windows上,它不起作用。它告诉我:'whatever'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.Windows的等效目标是什么? 最佳答案 与Linux不同,Windows没有用于安装可运行文件的公共(public)目录。如果您的项目

c++ - CMake 和#pragma comment(lib)

对于我的CMake项目,我有一个外部库,由一个头文件和几个.lib/.dll对组成。头文件有选择地链接到.lib/.dll对之一,举个例子:#ifdefDEBUG#pragmacomment(lib"exampled.lib")#elif#pragmacomment(lib"example.lib")#endif完整来说,有一个.lib和匹配的.dll用于32/64位和调试/发布,所以总共有4对。头文件内部是正确的#ifdef-链接正确库的逻辑。正如我所说,它是一个外部库,所以我不想更改该header。向CMake教授此内容的正确方法是什么?对于编译时间(即包含目录),我可以使用tar